home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #1 / Ham Radio 2000.iso / ham2000 / packet / thenet / x1j4_src / tick.asm < prev    next >
Encoding:
Assembly Source File  |  1991-01-13  |  1.3 KB  |  78 lines

  1. ;    Static Name Aliases
  2. ;
  3.     TITLE   zz
  4. ;    NAME    zz.c
  5.  
  6.     .287
  7. _TEXT    SEGMENT  BYTE PUBLIC 'CODE'
  8. _TEXT    ENDS
  9. _DATA    SEGMENT  WORD PUBLIC 'DATA'
  10. _DATA    ENDS
  11. CONST    SEGMENT  WORD PUBLIC 'CONST'
  12. CONST    ENDS
  13. _BSS    SEGMENT  WORD PUBLIC 'BSS'
  14. _BSS    ENDS
  15. DGROUP    GROUP    CONST,    _BSS,    _DATA
  16.     ASSUME  CS: _TEXT, DS: DGROUP, SS: DGROUP, ES: DGROUP
  17. PUBLIC  _tick, _setticker, _removeticker
  18. EXTRN    _tic10:WORD
  19.  
  20. _DATA      SEGMENT
  21. _DATA      ENDS
  22.  
  23. _TEXT      SEGMENT
  24.  
  25. DSreg    DW    DGROUP
  26. Oldseg    DW    ?
  27. Oldofs    DW    ?
  28.  
  29.     PUBLIC    _tick
  30. _tick    PROC FAR
  31.     push    ds
  32.     push    ax
  33.     mov    ax,CS:[DSreg]
  34.     push    ax
  35.     pop    ds
  36.     add    DS:_tic10, 5    ; pc clock is 50 ms not 10 !!!
  37.     pop    ax
  38.     pop    ds
  39.     iret
  40. _tick    ENDP
  41.  
  42. _setticker    PROC NEAR
  43.     push    es
  44.     push    bx
  45.     push    ds
  46.     mov    ah,035h        ; save old tick address
  47.     mov    al,01ch
  48.     int    21h
  49.     mov    Oldseg,es
  50.     mov    Oldofs,bx
  51.     push    cs
  52.     pop    ds
  53.     lea    dx,_tick    ; set new one alone
  54.     mov    ah,025h
  55.     mov    al,01ch
  56.     int    21h
  57.     pop    ds
  58.     pop    bx
  59.     pop    es
  60.     ret
  61. _setticker ENDP
  62.  
  63. _removeticker     PROC NEAR
  64.     push    dx
  65.     push    ds
  66.     mov    ds,Oldseg
  67.     mov    dx,Oldofs
  68.     mov    ah,025h
  69.     mov    al,01ch
  70.     int    21h
  71.     pop    ds
  72.     pop    dx
  73.     ret
  74. _removeticker ENDP
  75.  
  76. _TEXT    ENDS
  77. END
  78.